home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / t_os / tool / iv_srt / basic / iv_srt.bas < prev    next >
Encoding:
BASIC Source File  |  1994-11-16  |  17.4 KB  |  513 lines

  1. 10 '*************************************************************
  2. 20 '*      / IV_SCRIPT  MAKER  V2.0 /       *
  3. 30 '*                                                           *
  4. 40 '*                                                           *
  5. 50 '*                                                           *
  6. 60 '*                                                           *
  7. 70 '*                                                           * 
  8. 80 '*                                                           *
  9. 90 '*************************************************************
  10. 100 '=====================
  11. 110 '     設定.前処理
  12. 120 '=====================
  13. 130  SHELL "a:"  :SHELL "cd \basic"    '完成後消す(開発用)
  14. 140  CLEAR ,,8192,8192,8192                  '機械語領域確保 
  15. 150  ON ERROR GOTO *ERROR 
  16. 160  DIM CLO$(6)                             '
  17. 170  DIM S$(200)                             'S$(n)  =*dir用
  18. 180  DIM DIRNAME$(200)                       'DIRNAME$(n)=ディレクトリ名格納用
  19. 190  DIM FILENAME$(200)                      'FILENAME$(n)=ファイル名格納用
  20. 200  DRIVELIST$="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  21. 210  LOADM"GETDIR2.REX",0                    'FB-386 インタプリター
  22. 220  'LOADM"GETDIR2C.REX",0                  'FB-386 コンパイラー 
  23. 230  SCREEN @ 2
  24. 240  LOAD@ "iv_srt.tif"
  25. 250  COLOR 7,0
  26. 260  MOUSE 0
  27. 270  MOUSE 3,0,5
  28. 280  MOUSE 3,1,5
  29. 290  MOUSE 1,480,32,1
  30. 300  ON MOUSE(2) GOSUB *マウスオペレーション
  31. 310 '
  32. 320 '--- CNF LOAD ---
  33. 330  PAINT @(504,16),%60
  34. 340  OPEN "I",#1,"iv_srt.cnf"
  35. 350    LINE INPUT #1,TIM$        'TIM$=インターバルタイム
  36. 360    LINE INPUT #1,LASTDRIVE$  'RASTDRIVE$=最終アクセスドライブ
  37. 370    LINE INPUT #1,SRT_PATH$   'SRT_PATH$ =IV_SRTのパス
  38. 380    LINE INPUT #1,SKIPDRIVE$  'SKIPDRIVE$=非アクセスドライブリスト
  39. 390    LINE INPUT #1,IV_PATH$    'IV_PATH$  =IVのパス
  40. 400  CLOSE
  41. 410  PAINT @(504,16),%8 
  42. 420  DRIVE$=LASTDRIVE$
  43. 430  SHELL DRIVE$
  44. 440  SHELL "cd \"
  45. 450  SUBDIR$="\       "
  46. 460  PATH$= "\       "
  47. 470  FILE_OUT$="OFF"
  48. 480  TIM=VAL(TIM$)
  49. 490 ' 
  50. 500 '===== 
  51. 510 *STERT
  52. 520 '===== 
  53. 530  GOSUB *DIR
  54. 540  GOSUB *INTERVAL
  55. 550  MOUSE(2) ON
  56. 560  GOTO 560
  57. 570 '
  58. 580 '--------------------------------------------------------------------
  59. 590 '========
  60. 600 *SRT_SAVE
  61. 610 '========
  62. 620 'BEEP 
  63. 630 '
  64. 640  IF STORE<>0 THEN
  65. 650 '
  66. 660    OPEN "O",#1,"IV_SRT.IV"
  67. 670 '
  68. 680    PRINT #1,"IV_SCRIPT(V1.0)"
  69. 690 '
  70. 700    IF TIM =-1 THEN PRINT #1,"interval"
  71. 710    IF TIM<>-1 THEN PRINT #1,"interval"+STR$(TIM) 
  72. 720 '
  73. 730    FOR CT=0 TO STORE-1
  74. 740      NNO=INSTR(LEFT$(FILENAME$(CT),8)," ")-1
  75. 750      IF NNO<1 THEN NNO=8
  76. 760      PRINT #1,"show   "+QPATH$+                                                         LEFT$(FILENAME$(CT),NNO)+RIGHT$(FILENAME$(CT),4)
  77. 770      IF FILE_OUT$="ON" THEN PRINT #1,"message 只今のファイル名は"+                      LEFT$(FILENAME$(CT),NNO)+RIGHT$(FILENAME$(CT),4)
  78. 780    NEXT
  79. 790 '
  80. 800    CLOSE #1
  81. 810    QPATH$=""
  82. 820  ENDIF
  83. 830 '
  84. 840  IF IV$<>"ON" THEN GOTO *STERT
  85. 850 '
  86. 860 '=========
  87. 870 *CNF_SAVE
  88. 880 '=========
  89. 890  IF STORE=0 THEN GOTO *STERT
  90. 900  LASTDRIVE$=DRIVE$
  91. 910  TIM$=STR$(TIM)
  92. 920  KILL SRT_PATH$+"iv_srt.cnf"
  93. 930  OPEN "O",#1,SRT_PATH$+"iv_srt.cnf"   'SRT$
  94. 940    PRINT #1,TIM$
  95. 950    PRINT #1,LASTDRIVE$
  96. 960    PRINT #1,SRT_PATH$
  97. 970    PRINT #1,SKIPDRIVE$
  98. 980    PRINT #1,IV_PATH$
  99. 990  CLOSE
  100. 1000  IF IV$="ON" THEN RUN IV_PATH$
  101. 1010  SYSTEM
  102. 1020 '--------------------------------------------------------------------
  103. 1030 '===
  104. 1040 *DIR
  105. 1050 '===
  106. 1060  SHELL DRIVE$
  107. 1070  PAINT @(504,16),%60
  108. 1080  FOR I=1 TO  25: S$   =S$+" " : NEXT
  109. 1090  FOR I=0 TO 200: S$(I)=S$+" " : NEXT
  110. 1100  P$="*.*"+CHR$(0) : N&=100
  111. 1110  AT&=&H1F
  112. 1120  ST=CALLM(0,0,VARPTR(P$),AT&,VARPTR(N&),VARPTR(S$(0)))'ファイル数検出
  113. 1130  ST=CALLM(0,1,VARPTR(P$),AT&,VARPTR(N&),VARPTR(S$(0)))'ファイル情報検索
  114. 1140  IF ST>0 THEN *ERROR                                  'エラー処理
  115. 1150                           'N&                          ファイルの個数
  116. 1160                           'MID$(S$(I),12,12)           ファイル名
  117. 1170                           'CVL(MID$(S$(I),8,4))        ファイルサイズ
  118. 1180                           'ASC(MID$(S$(I),5,1))+1980   ファイル作成年
  119. 1190                           'ASC(MID$(S$(I),6,1))        ファイル作成月
  120. 1200                           'ASC(MID$(S$(I),7,1))        ファイル作成日
  121. 1210                           'ASC(MID$(S$(I),2,1))        ファイル作成時
  122. 1220                           'ASC(MID$(S$(I),3,1))        ファイル作成分
  123. 1230                           'ASC(MID$(S$(I),4,1))        ファイル作成秒
  124. 1240                           'ASC(MID$(S$(I),4,1))        ファイル作成秒
  125. 1250                           'ASC(MID$(S$(I),4,1))        ファイル作成秒
  126. 1260  PAINT @(504,16),%8
  127. 1270 '
  128. 1280 '=== DIR_LIST === 
  129. 1290 '
  130. 1300  FOR I=0 TO 200:DIRNAME$(I) ="        "    :NEXT'ブラックボードクリア
  131. 1310  FOR I=0 TO 200:FILENAME$(I)="            ":NEXT'グリーンボードクリア
  132. 1320  GOSUB *ディスプレイ表示
  133. 1330  N1=0:N2=0                        'ファイル数カウンターのリセット
  134. 1340  FOR I=0 TO N&-1
  135. 1350  DM$=MID$(S$(I),12,12)            'ファイル名
  136. 1360 '--- サブディレクトリーの検出 ---
  137. 1370   IF (ASC(S$(I)) AND &H10)>0 THEN 'サブディレクトリーの検出
  138. 1380      DIRNAME$(N1)=LEFT$(DM$,8)    'DIRNAME$(N1)=サブディレクトリ名
  139. 1390      IF DIRNAME$(N1)=".       "THEN DIRNAME$(N1)="\       "
  140. 1400      N1=N1+1                      'N1=サブディレクトリー数
  141. 1410   ELSE                            'データファイルの検索
  142. 1420 '--- 拡張子の選別(IV用画像ファイルの抽出) ---
  143. 1430      S$=MID$(DM$,(INSTR(DM$,".")+1),3)
  144. 1440      IF S$="GIF" OR S$="TIF" OR S$="JPG" OR S$="HIP" OR S$="TIX" OR                   S$="MSP" OR S$="P16" OR S$="P32" OR S$="P25" OR S$="PIC"                    THEN
  145. 1450 '--- ファイル名の桁数揃え ---
  146. 1460         FILENAME$=LEFT$(DM$,(INSTR(DM$,".")-1))
  147. 1470            WHILE LEN(FILENAME$)<8
  148. 1480               FILENAME$=FILENAME$+" " 
  149. 1490            WEND 
  150. 1500 '--- ファイル名の確定 ---
  151. 1510         FILENAME$(N2)=FILENAME$+MID$(DM$,INSTR(DM$,"."),4)
  152. 1520         N2=N2+1                    'N2=データファイル数
  153. 1530      ENDIF
  154. 1540   ENDIF
  155. 1550  NEXT
  156. 1560 '
  157. 1570 '--------------------------------------------------------------------
  158. 1580 '================
  159. 1590 *ディスプレイ表示
  160. 1600 '================
  161. 1610  COLOR 7,%3
  162. 1620  LOCATE 58,1:PRINT KMID$(DRIVELIST$,(ASC(DRIVE$)-&H40),1)
  163. 1630  LOCATE 64,1:PRINT "          "
  164. 1640  IF SUBDIR$<>"..      " THEN LOCATE 64,1:PRINT SUBDIR$
  165. 1650  IF SUBDIR$= "..      " THEN LOCATE 64,1:PRINT RIGHT$(PATH$,8)
  166. 1660  COLOR 7,0
  167. 1670  FOR I=0 TO 8
  168. 1680    LOCATE 57,I+3:PRINT DIRNAME$(I+NO)
  169. 1690    LOCATE 69,I+3:PRINT DIRNAME$(I+NO+9)
  170. 1700    NEXT 
  171. 1710 '
  172. 1720  COLOR 7,%96
  173. 1730  FOR I=0 TO 9 
  174. 1740    LOCATE  4,I+14:PRINT FILENAME$(   I)
  175. 1750    LOCATE 19,I+14:PRINT FILENAME$(10+I)
  176. 1760    LOCATE 34,I+14:PRINT FILENAME$(20+I)
  177. 1770    LOCATE 49,I+14:PRINT FILENAME$(30+I)
  178. 1780    IF I<8 THEN LOCATE 64,I+14:PRINT FILENAME$(40+I)
  179. 1790  NEXT
  180. 1800 '
  181. 1810  STORE=N2
  182. 1820  IF N2>48 THEN STORE=48
  183. 1830 '
  184. 1840  LOCATE 66,23 :PRINT USING "##";STORE           '出力ファイル数
  185. 1850  LOCATE 72,23 :PRINT USING "##";N2
  186. 1860  RETURN
  187. 1870 '--------------------------------------------------------------------
  188. 1880 '====================
  189. 1890 *マウスオペレーション
  190. 1900 '====================
  191. 1910 '--- マウスの情報読み込み ---
  192. 1920  MOX=MOUSE (4,0):MOY=MOUSE (5,0)
  193. 1930 '
  194. 1940 'マウス座標表示
  195. 1950 '     COLOR 7,0:LOCATE 0,0
  196. 1960 '     PRINT USING "& &###";" x=";MOX;",y=";MOY
  197. 1970 '
  198. 1980 '--- スクリプト作成(IV )連動 ---
  199. 1990  IF MOX>225 AND MOX<270 AND MOY>191 AND MOY<234 THEN
  200. 2000    IV$="ON"
  201. 2010    GOSUB *SRT_SAVE
  202. 2020  ENDIF
  203. 2030 '
  204. 2040 '--- スクリプト作成 ---
  205. 2050  IF MOX>273 AND MOX<317 AND MOY>192 AND MOY<234 THEN
  206. 2060    IV$="OFF"
  207. 2070    GOSUB *SRT_SAVE
  208. 2080  ENDIF
  209. 2090 '
  210. 2100 '--- CNF設定 ---
  211. 2110 'IF MOX>367 AND MOX<413 AND MOY>192 AND MOY<234 THEN
  212. 2120 '
  213. 2130 '//////////////////////////////////////////////////
  214. 2140 '
  215. 2150 '--- END ---
  216. 2160  IF MOX>320 AND MOX<364 AND MOY>192 AND MOY<234 THEN
  217. 2170  STORE=-1
  218. 2180  IV$="OFF"
  219. 2190  GOTO *CNF_SAVE
  220. 2200  ENDIF
  221. 2210 '
  222. 2220 '--- INTERVAL ---
  223. 2230  IF MOX>234 AND MOX<254 AND MOY>85 AND MOY<126 THEN
  224. 2240     TIM=TIM-1                     'TIM=インターバルの時間
  225. 2250     IF TIM<-1 THEN TIM=-1
  226. 2260     GOSUB *INTERVAL
  227. 2270  ENDIF
  228. 2280 '
  229. 2290  IF MOX>383 AND MOX<404 AND MOY>85 AND MOY<126 THEN
  230. 2300     TIM=TIM+1                     'TIM=インターバルの時間
  231. 2310     IF TIM>999 THEN TIM=999
  232. 2320     GOSUB *INTERVAL
  233. 2330  ENDIF
  234. 2340 '
  235. 2350 '--- ファイル名出力 ---
  236. 2360  IF MOX>274 AND MOX<321 AND MOY>140 AND MOY<178 THEN
  237. 2370     FILE_OUT$="ON"
  238. 2380     PAINT @(335,164),%8
  239. 2390     PAINT @(290,164),%20
  240. 2400     GOSUB *ディスプレイ表示
  241. 2410  ENDIF
  242. 2420 '
  243. 2430 '--- ファイル名出力取消 ---
  244. 2440  IF MOX>321 AND MOX<365 AND MOY>140 AND MOY<178 THEN
  245. 2450     FILE_OUT$="OFF"
  246. 2460     PAINT @(335,164),%20
  247. 2470     PAINT @(290,164),%8
  248. 2480     GOSUB *ディスプレイ表示
  249. 2490  ENDIF
  250. 2500 '
  251. 2510 '--- subdirスクロール左 ---
  252. 2520  IF MOX>443 AND MOX<457 AND MOY>39 AND MOY<52 THEN
  253. 2530     NO=NO-9
  254. 2540     IF NO<0 THEN NO=0
  255. 2550     GOSUB *ディスプレイ表示
  256. 2560  ENDIF
  257. 2570 '
  258. 2580 '--- subdirスクロール右 ---
  259. 2590  IF MOX>612 AND MOX<627 AND MOY>39 AND MOY<52 THEN
  260. 2600     NO=NO+9
  261. 2610     IF NO>=N1 THEN NO=NO-9
  262. 2620     GOSUB*ディスプレイ表示
  263. 2630  ENDIF
  264. 2640 '
  265. 2650 '--- 左へドライブ変更 ---
  266. 2660    IF MOX>443 AND MOX<457 AND MOY>14 AND MOY<37 THEN 
  267. 2670    PAINT @(504,16),%20
  268. 2680    DRIVE$=CHR$(ASC(DRIVE$)-1)
  269. 2690    IF DRIVE$<"D" THEN DRIVE$="Z"
  270. 2700       WHILE INSTR(SKIPDRIVE$,DRIVE$)<>0         'スッキプドライブ処理
  271. 2710         DRIVE$=CHR$(ASC(DRIVE$)-1)
  272. 2720         IF DRIVE$<"D" THEN DRIVE$="Z"
  273. 2730       WEND
  274. 2740    NO=0
  275. 2750    DRIVE$=DRIVE$+":"
  276. 2760    SUBDIR$="\       "
  277. 2770    PATH$=  "\       "
  278. 2780    SHELL DRIVE$
  279. 2790    SHELL "cd \"
  280. 2800    PAINT @(504,16),%8
  281. 2810    GOSUB *DIR
  282. 2820  ENDIF
  283. 2830 '
  284. 2840 '--- 右へドライブ変更 ---
  285. 2850  IF MOX>487 AND MOX<501 AND MOY>14 AND MOY<37 THEN
  286. 2860  PAINT @(504,16),%20
  287. 2870  DRIVE$=CHR$(ASC(DRIVE$)+1)
  288. 2880  IF DRIVE$>"Z" THEN DRIVE$="D"
  289. 2890       WHILE INSTR(SKIPDRIVE$,DRIVE$)<>0         'スッキプドライブ処理
  290. 2900         DRIVE$=CHR$(ASC(DRIVE$)+1)
  291. 2910         IF DRIVE$>"Z" THEN DRIVE$="D"
  292. 2920       WEND
  293. 2930    NO=0
  294. 2940    DRIVE$=DRIVE$+":"
  295. 2950    SUBDIR$="\       "
  296. 2960    PATH$=  "\       "
  297. 2970    SHELL DRIVE$
  298. 2980    SHELL "cd \"
  299. 2990    PAINT @(504,16),%8
  300. 3000    GOSUB *DIR
  301. 3010  ENDIF
  302. 3020 '
  303. 3030 '--- ディレクトリの選択 ---
  304. 3040  IF MOX>443 AND MOX<628 AND MOY>56 AND MOY<227 THEN
  305. 3050     IF MOX>443 AND MOX<543 THEN
  306. 3060 '
  307. 3070 '      1番目のディレクトリを選択
  308. 3080        IF MOY> 56 AND MOY< 75 THEN SUBDIR$=DIRNAME$( 0+NO)
  309. 3090 '
  310. 3100 '      2番目のディレクトリを選択
  311. 3110        IF MOY>= 75 AND MOY< 94 THEN SUBDIR$=DIRNAME$( 1+NO)
  312. 3120 '
  313. 3130 '      3番目のディレクトリを選択
  314. 3140        IF MOY>= 94 AND MOY<113 THEN SUBDIR$=DIRNAME$( 2+NO)
  315. 3150 '
  316. 3160 '      4番目のディレクトリを選択
  317. 3170        IF MOY>=113 AND MOY<132 THEN SUBDIR$=DIRNAME$( 3+NO)
  318. 3180 '
  319. 3190 '      5番目のディレクトリを選択
  320. 3200        IF MOY>=132 AND MOY<151 THEN SUBDIR$=DIRNAME$( 4+NO)
  321. 3210 '
  322. 3220 '      6番目のディレクトリを選択
  323. 3230        IF MOY>=151 AND MOY<170 THEN SUBDIR$=DIRNAME$( 5+NO)
  324. 3240 '
  325. 3250 '      7番目のディレクトリを選択
  326. 3260        IF MOY>=170 AND MOY<189 THEN SUBDIR$=DIRNAME$( 6+NO)
  327. 3270 '
  328. 3280 '      8番目のディレクトリを選択
  329. 3290        IF MOY>=189 AND MOY<208 THEN SUBDIR$=DIRNAME$( 7+NO)
  330. 3300 '
  331. 3310 '      9番目のディレクトリを選択
  332. 3320        IF MOY>=208 AND MOY<227 THEN SUBDIR$=DIRNAME$( 8+NO)
  333. 3330     ENDIF
  334. 3340 '
  335. 3350     IF MOX>=543 AND MOX<628 THEN
  336. 3360 '
  337. 3370 '      10番目のディレクトリを選択
  338. 3380        IF MOY>= 56 AND MOY<75 THEN SUBDIR$=DIRNAME$( 9+NO)
  339. 3390 '
  340. 3400 '      11番目のディレクトリを選択
  341. 3410        IF MOY>= 75 AND MOY<94 THEN SUBDIR$=DIRNAME$(10+NO)
  342. 3420 '
  343. 3430 '      12番目のディレクトリを選択
  344. 3440        IF MOY>= 94 AND MOY<113 THEN SUBDIR$=DIRNAME$(11+NO)
  345. 3450 '
  346. 3460 '      13番目のディレクトリを選択
  347. 3470        IF MOY>=113 AND MOY<132 THEN SUBDIR$=DIRNAME$(12+NO)
  348. 3480 '
  349. 3490 '      14番目のディレクトリを選択
  350. 3500        IF MOY>=132 AND MOY<151 THEN SUBDIR$=DIRNAME$(13+NO)
  351. 3510 '
  352. 3520 '      15番目のディレクトリを選択
  353. 3530        IF MOY>=151 AND MOY<170 THEN SUBDIR$=DIRNAME$(14+NO)
  354. 3540 '
  355. 3550 '      16番目のディレクトリを選択
  356. 3560        IF MOY>=170 AND MOY<189 THEN SUBDIR$=DIRNAME$(15+NO)
  357. 3570 '
  358. 3580 '      17番目のディレクトリを選択
  359. 3590        IF MOY>=189 AND MOY<208 THEN SUBDIR$=DIRNAME$(16+NO)
  360. 3600 '
  361. 3610 '      18番目のディレクトリを選択
  362. 3620        IF MOY>=208 AND MOY<227 THEN SUBDIR$=DIRNAME$(17+NO)
  363. 3630     ENDIF
  364. 3640 '
  365. 3650 '--- ディレクトリ制御 ---
  366. 3660     IF SUBDIR$<>"        " THEN
  367. 3670        PAINT @(504,16),%20
  368. 3680        IF SUBDIR$= "\       " THEN PATH$=""
  369. 3690        IF SUBDIR$<>"..      " THEN PATH$=PATH$+SUBDIR$
  370. 3700        IF SUBDIR$= "..      "                                                               THEN PATH$=LEFT$(PATH$,(LEN(PATH$)/8-1)*8)
  371. 3710        NO=0
  372. 3720        SHELL "cd "+SUBDIR$
  373. 3730        PAINT @(504,16),%8 
  374. 3740        GOSUB *DIR
  375. 3750     ENDIF
  376. 3760  ENDIF
  377. 3770  RETURN
  378. 3780 '
  379. 3790 '--------------------------------------------------------------------
  380. 3800 '========
  381. 3810 *INTERVAL
  382. 3820 '========
  383. 3830 '--- 液晶パターン読み込み ---
  384. 3840  RESTORE *パタ-ンデータ
  385. 3850  FOR A=0 TO 9
  386. 3860     READ COL$(A)
  387. 3870  NEXT
  388. 3880 '
  389. 3890 '--- 変数 'TIM' の 三桁文字列化 ---
  390. 3900  TIM$ =STR$(TIM)          'tim=interval time
  391. 3910  WHILE LEN(TIM$)<=3
  392. 3920     TIM$="0"+TIM$
  393. 3930  WEND
  394. 3940     TIM$=RIGHT$(TIM$,3)
  395. 3950 '
  396. 3960 '--- インターバルタイムの液晶パターン表示 ---
  397. 3970  RESTORE *パターン座標データ
  398. 3980 '
  399. 3990  FOR A=3 TO 1 STEP -1
  400. 4000        T=VAL(MID$(TIM$,A,1))
  401. 4010     FOR B=1 TO 7
  402. 4020        READ X,Y                             'パターン座標リード     
  403. 4030        IF MID$(COL$(T),B,1)="*" THEN COL=248 ELSE COL=8
  404. 4040        IF TIM=-1 THEN COL=8
  405. 4050        PAINT @(X,Y),%COL
  406. 4060     NEXT
  407. 4070  NEXT
  408. 4080  RETURN 
  409. 4090 '
  410. 4100 *パターン座標データ'........................................
  411. 4110 '
  412. 4120 '    [ -1- ] [ -2- ] [ -3- ] [ -4- ] [ -5- ] [ -6- ] [ -7- ]
  413. 4130  DATA 340,106,340, 90,336, 96,336,110,340,122,353,110,353, 96
  414. 4140  DATA 320,106,320, 90,311, 96,311,110,320,122,328,110,328, 96
  415. 4150  DATA 290,106,290, 90,287, 96,287,110,290,122,303,110,303, 96
  416. 4160 '...........................................................
  417. 4170 '
  418. 4180 *パタ-ンデータ'............................................
  419. 4190 '
  420. 4200  DATA       "-******","-----**","**-**-*","**--***","*-*--**"
  421. 4210  DATA       "***-**-","******-","-*---**","*******","***-***"
  422. 4220 '...........................................................
  423. 4230 '
  424. 4240 '--------------------------------------------------------------------
  425. 4250 '=====
  426. 4260 *ERROR
  427. 4270 '=====
  428. 4280  BEEP
  429. 4290 '
  430. 4300 '--- IV_SRT.IVの ダブり処理 ---
  431. 4310  IF ERL=660 AND ERR=64 THEN KILL "IV_SRT.IV":RESUME 
  432. 4320 '
  433. 4330 '--- CD-ROM内のファイル選択時のスクリプト出力先変更 --- 
  434. 4340  IF ERL=660 AND ERR=75 THEN
  435. 4350    LE=3
  436. 4360    IF LEN(SRT_PATH$)<4 THEN LE=2 
  437. 4370    SHELL LEFT$(SRT_PATH$,2)
  438. 4380    SHELL "cd "+MID$(SRT_PATH$,3,LEN(SRT_PATH$)-LE)
  439. 4390    FOR C=1 TO LEN(PATH$)/8 
  440. 4400      FOR C2=1 TO 8
  441. 4410      IF MID$(PATH$,((8*C)-8)+C2,1)<>" "                                                   THEN QPATH$=QPATH$+ MID$(PATH$,((8*C)-8)+C2,1)
  442. 4420      NEXT
  443. 4430      IF C<>1 AND C2<>1 THEN QPATH$=QPATH$+"\"
  444. 4440    NEXT 
  445. 4450    QPATH$="Q:"+QPATH$
  446. 4460    RESUME
  447. 4470  ENDIF
  448. 4480 '
  449. 4490 '--- CD-ROMがセットされていない ---
  450. 4500 '
  451. 4510  IF ERL=440 AND ERR=72 THEN
  452. 4520    GOSUB *ERR72
  453. 4530    DRIVE$=LEFT$(SRT_PATH$,1)
  454. 4540      WHILE INSTR(SKIPDRIVE$,DRIVE$)<>0         'スッキプドライブ処理
  455. 4550        DRIVE$=CHR$(ASC(DRIVE$)+1)
  456. 4560        IF DRIVE$>"Z" THEN DRIVE$="D"
  457. 4570      WEND
  458. 4580   DRIVE$=DRIVE$+":"
  459. 4590   SHELL DRIVE$
  460. 4600   SHELL "cd \"
  461. 4610   RESUME
  462. 4620  ENDIF
  463. 4630 '
  464. 4640  IF ERL=2980 AND ERR=72 THEN
  465. 4650    GOSUB *ERR72
  466. 4660    MOX=488:MOY=15
  467. 4670    RESUME *マウスオペレーション
  468. 4680  ENDIF
  469. 4690 '
  470. 4700  IF ERL=2790 AND ERR=72 THEN
  471. 4710    GOSUB *ERR72
  472. 4720    MOX=444:MOY=15
  473. 4730    RESUME *マウスオペレーション
  474. 4740  ENDIF
  475. 4750 '
  476. 4760  IF ERL=3720 AND ERR=72 THEN
  477. 4770    SHELL "CD \"
  478. 4780    PATH$="\       "
  479. 4790    SUBDIR$="\       "
  480. 4800    RESUME *DIR
  481. 4810  ENDIF
  482. 4820 '
  483. 4830  IF ERL=3720 AND ERR=63 THEN
  484. 4840    SHELL LASTDRIVE$
  485. 4850    SHELL "CD \"
  486. 4860    SUBDIR$="\       "
  487. 4870    PATHE$= "\       "
  488. 4880    RESUME *STERT
  489. 4890  ENDIF
  490. 4900 '
  491. 4910 '--- 強制終了 --- 
  492. 4920  COLOR 6,0 
  493. 4930  IF ST> 0 THEN LOCATE 57,3:PRINT "error";ST;" in rex"
  494. 4940  LOCATE 57,4:PRINT "error";ERR;"in";ERL
  495. 4950  LOCATE 57,5:PRINT "未対応のエラーが     "
  496. 4960  LOCATE 57,6:PRINT "        発生しました "
  497. 4970  LOCATE 57,7:PRINT "                     "
  498. 4980  LOCATE 57,8:PRINT "キー入力で           "
  499. 4990  LOCATE 57,9:PRINT "      強制終了します "
  500. 5000  IF INKEY$="" THEN 5000
  501. 5010  SYSTEM
  502. 5020 '
  503. 5030 '..................................................................
  504. 5040 *ERR72
  505. 5050  COLOR 6,0
  506. 5060  LOCATE 57,3:PRINT "CD-ROMが             "
  507. 5070  LOCATE 57,4:PRINT "セットされていません "
  508. 5080  WAIT 150
  509. 5090  LOCATE 57,3:PRINT "                     "
  510. 5100  LOCATE 57,4:PRINT "                     "
  511. 5110  RETURN
  512. 5120 '..................................................................
  513.